/* **************************************** */
/* ************  公用方法    ****************** */
/* *************************************** */

/*
 * 判断是否为空  （字符串）
 * 		传入所要判断的参数
 */
export function isNotBlank(value) {
  if (value != '' && value != null && !(typeof value === 'undefined')) {
    return true;
  } else {
    return false;
  }
}

/**
 * 防止连续多次请求
 * 		注意：调用该公共方法，需约定条件：
 * 		  1. 按钮禁用属性必须为 btnDisabled
 */
export function avoidMultRequest(that_){
	// 按钮禁用
	that_.btnDisabled = true;
	// 三秒后在解除按钮禁用状态
	setTimeout(function (){
		//解除按钮禁用状态
		that_.btnDisabled = false;
	}, 2000);
}


/* ************  消息提醒 start    ****************** */

/*
 * 加载中
 */
export function loading(that, textInfo) {
  const loading = that.$loading({
    lock: true,
    text: textInfo,
    spinner: 'el-icon-loading',
    background: 'rgba(0, 0, 0, 0.7)'
  })
  return loading
}

/**
 * 消息提醒
 * 	that: this指向
 * 	title: 标题
 * 	type: 提示类型 [sucess, warning, error]
 * 	second: 秒数
 * 	info: 提示信息
 */
export function notify(that, title, type, second, info) {
	const style = 'line-height:20px;text-align:left; font-size:18px;padding-right:10px;color: #43c39d'
	that.$notify({
		showClose: true,
	    title: title,
	    message: that.$createElement('p', {
	      style: style
	    }, info),
	    type: type,
	    duration: second * 1000
  	});
}

/**
 * 消息提醒
 * 	that: this指向
 * 	type: 提示类型 [sucess, warning, error]
 * 	second: 秒数
 * 	info: 提示信息
 */
export function message(that, type, second, info) {
	let title = ''
	if(type=== 'success'){
		title = '成功'
	}
	else if(type=== 'warning'){
		title = '提示'
	}
	else if(type=== 'error'){
		title = '错误'
	}
	notify(that, title, type, second, info)
}

/**
 * 错误提示
 * 	that: this指向
 * 	info: 提示信息
 */
export function warning(that, info) {
  message(that, 'warning', 2, info)
}

/**
 * 错误提示
 * 	that: this指向
 * 	info: 提示信息
 */
export function error(that, info) {
  message(that, 'error', 2, info)
}


/**
 * 提示信息，并且防止连续多次请求
 */
export function tips(that_, msgInfo){
	// 防止连续多次请求
	avoidMultRequest(that_)
	message(that_, 'warning', 2, msgInfo)
}
/* ************  消息提醒 end    ****************** */


/* ************  image start    ****************** */
/**
 * 校验上传图片是否合规
 */
export function checkImgIsOK(that_, file){
	// 文件类型进行判断
	const isJPG = file.type === "image/jpeg";
	const isPNG = file.type === 'image/png';
	const isLt2M = file.size / 1024 / 1024 < 20;
	let imgType = false;
	if(!isJPG && !isPNG) {
		message(that_, 'warning', 2, '上传图片只能是 jpg / png格式！')
		if(!isLt2M) {
			message(that_, 'warning', 2, '上传图片大小不能超过 20MB！')
		}
	}else{
		imgType = true;
	}
	return imgType && isLt2M;
}
/* ************  image end    ****************** */
